During conventional database prototyping, the structure of a database schema can frequently change due, for example, to changing requirement(s) and/or programming difficulties. Updating a hard-coded schema can be hard and infeasible especially when the compatibility with prior versions is required in a rapid prototyping environment and especially when a product or a prototype is already deployed. Often it requires writing special software for upgrading the database which is a source of potential errors and defies the requirements of rapid prototyping.